using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Thaire.Investment.Domains.Transaction
{
   
    public class UnitTrustInstructionDetail 
    {
        #region Properties
              // INSTRUCTION_DETAIL_ID
        public virtual int DetailID { set; get; }
      // INSTRUCTION_HEADER_ID
        public virtual int? HeaderID { set; get; }
      // INSTRUMENT_HEADER_ID
        public virtual int? InstrumentHeaderID { set; get; }
      // INSTRUMENT_TRANSACTION_ID
        public virtual int? InstrumentTransactionID { set; get; }
      // INSTRUCTION_TRANSACTION_TYPE
        public virtual String TransactionType { set; get; }
      // INSTRUCTION_FUND_NAME
        public virtual String FundName { set; get; }
      // INSTRUCTION_COUNTERPARTY_NAME
        public virtual String CounterpartyName { set; get; }
      // INSTRUCTION_UNIT
        public virtual int? Unit { set; get; }
      // INSTRUCTION_PRICE_UNIT
        public virtual decimal? PriceUnit { set; get; }
      // INSTRUCTION_GROSS_AMOUNT
        public virtual decimal? GrossAmount { set; get; }
      // INSTRUCTION_COM_AMOUNT
        public virtual decimal? ComAmount { set; get; }
      // INSTRUCTION_VAT_AMOUNT
        public virtual decimal? VatAmount { set; get; }
      // INSTRUCTION_PURCHASE_VALUE_NET
        public virtual decimal? PurchaseValueNet { set; get; }
      // INSTRUCTION_WH_TAX_AMOUNT
        public virtual decimal? WHTaxAmount { set; get; }
      // INSTRUCTION_NET_SETTLE
        public virtual decimal? NetSettle { set; get; }
      // INSTRUCTION_TYPEOFPAYMENT_NAME
        public virtual String TypeofpaymentName { set; get; }
      // INSTRUCTION_REF_NO
        public virtual String RefNO { set; get; }
      // INSTRUCTION_LISTED_STATUS
        public virtual String ListedStatus { set; get; }
      // CREATE_DATE
        public virtual DateTime? CreateDate { set; get; }
      // CREATE_BY
        public virtual String CreateBY { set; get; }

        #endregion

        

        public override bool Equals(object obj)
        {
            if(obj == null)
                return false;
            if(obj.GetType() != typeof(UnitTrustInstructionDetail) && !(obj is UnitTrustInstructionDetail))
                return false;
            return ToString().Equals(obj.ToString());
        }

        public override int GetHashCode()
        {
            return ToString().GetHashCode();
        }

        public override string ToString()
        {
            return string.Format("{0}",DetailID);
        }

    }


}